import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;

/**
 * Creared with IntelliJ IDEA.
 * Description:处理登录请求
 * User:yxd
 * Date:2022-06-03
 * Time:21:37
 */
@WebServlet("/login")
public class LoginServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //获取到req中的信息
        String username = req.getParameter("username");
        String password = req.getParameter("password");
        //然后判断这个信息是否正确,如果正确就可以跳转到一个新的页面,如果错误就直接返回登录失败的信息
        //这里的验证本来是要根据数据库中的信息来进行判断的,但是这里就不使用了,直接使用唯一的用户名这密码来进行判断了
        if("zhangsan".equals(username) && "123".equals(password)){
            //登录成功
            //如果登录成功就看有使用一个HttpSession对象来保存需要的用户信息,然后在后续的页面中显示,这里的参数设置为true,如果没有这个会话没救主动创建一个会话
            HttpSession httpSession = req.getSession(true);
            //这里的键值对就是必要的用户信息
            httpSession.setAttribute("username",username);

            //这里还可以实现一个登录次数的信息
            httpSession.setAttribute("count",0);
            //然后重定向到一个新的页面
            resp.sendRedirect("index");
        }else{
            //登录失败
            //返回一个登录失败的响应
            resp.getWriter().write("login failed!!!");
        }
    }
}
